//-------------------------------------------------------------------
//	Copyright (c) 2010-2014  Zhirnov Andrey
//	This file is part of the "UX Standard Lib" project.
//	See copyright notice in "UX_STL_Core.h".
//-------------------------------------------------------------------
/*
	Description:	default config only for this (stl_core) project.
*/

#pragma once

// Define this in project preprocessor only //
//#define __UX_DEBUG__
//#define __UX_FAST__
//#define __UX_BUILD__
//#define __UX_BUILD_STATIC_LIB__


// Options //

// debug mode to detect errors in 64 bit platform in 32 bit.
//#define UX_DEBUG_64BIT


// compile time calculation of types limits, otherwise used constant values.
#define UX_MATH_REAL_LIMITS


// disable try/catch sections.
#define UX_CATCHING_EXCEPTIONS_DISABLE


// all string must be in unicode.
// (TODO)
//#define UX_UNICODE


// enable temporary code, otherwise enabled static asserts instead of temporary code.
//#define UX_TEMP_CODE


// defines a log output method
#ifndef LOG_EXT
#	define LOG_EXT( _text, _type, _file, _line )	WARNING( _text )
#endif
#define LOG( _text, _type )							LOG_EXT( _text, _type, __FILE__, __LINE__ )



// Optimizations //

// used optimized math functions, this is not safe!
//#define UX_FAST_MATH

// size of static buffer for delegate and function interface
#define UX_OPT_DELEGATE_INTERFACE_SIZE			(sizeof(void*)*8)
#define UX_OPT_FUNCTION_INTERFACE_SIZE			(sizeof(void*)*16)

